DLLs have many applications. For example, frequency-multiplying DLLs can be used to generate high frequency clocks from low frequency clocks. Deskew DLLs can be used to phase align a distributed clock to a reference clock. Master/slave DLLs can be used to delay arbitrary signals by precise fractions of a clock period.
Because DLLs often must produce large delays, they may also add proportionally large jitter (random variations in delay) to the signal delayed. Such jitter is usually undesirable, and so techniques for reducing jitter are valuable.
Another result of the large delays in the delay line is significant differences in the propagation time of low-to-high versus high-to-low edges. These differences show up as duty cycle distortion, or more accurately named pulse width distortion, at the output of the DLL, and are also undesirable.
In addition, DLLs often suffer from inaccuracies in the control system that aligns the delayed reference clock edge with an undelayed edge. Any inaccuracy in this alignment is called static phase offset. Static phase offset leads to inaccuracies in the delayed edge timing, which are undesirable.